package ufr_stgi.assistance_conduite.modele;

import java.io.Serializable;

/**
 * Représente un panneau avec ses propriétés
 * @author Guillaume MONTAVON & Renaud DAVID (Master 2 RIM)
 */
public class Panneau implements Serializable {
	private static final long serialVersionUID = 1L;
	private long identifiant;
	private double latitude;
	private double longitude;
	private int nbMarquage;
	private String chemin;
	private float fiabilite;
	private int direction; //IMMOBILE : 0, NORD : 1, EST : 2, SUD : 3, OUEST : 4
	private long idType;
	private int distanceUtilisateur;
	
	public static String CHEMIN_MANQUANT = "manquant";
	
	public Panneau(long identifiant){
		this.identifiant = identifiant;
		latitude = 0.0;
		longitude = 0.0;
		nbMarquage = 0;
		chemin = CHEMIN_MANQUANT;
		fiabilite = 0;
		direction = 0;
		idType = 0;
		distanceUtilisateur = 0;
	}
	
	public Panneau(double latitude, double longitude){
		identifiant = 0;
		this.latitude = latitude;
		this.longitude = longitude;
		nbMarquage = 0;
		chemin = CHEMIN_MANQUANT;
		fiabilite = 0;
		direction = 0;
		idType = 0;
		distanceUtilisateur = 0;
	}
	
	public Panneau(long identifiant, double latitude, double longitude, int nbMarquage, String chemin, float fiabilite, int direction, long idType){
		this.identifiant = identifiant;
		this.latitude = latitude;
		this.longitude = longitude;
		this.nbMarquage = nbMarquage;
		this.chemin = chemin;
		this.fiabilite = fiabilite;
		this.direction = direction;
		this.idType = idType;
		distanceUtilisateur = 0;
	}
	
	public long getIdentifiant() {
		return identifiant;
	}
	
	public void setIdentifiant(long identifiant) {
		this.identifiant = identifiant;
	}
	
	public double getLatitude() {
		return latitude;
	}
	
	public void setLatitude(double latitude) {
		this.latitude = latitude;
	}
	
	public double getLongitude() {
		return longitude;
	}
	
	public void setLongitude(double longitude) {
		this.longitude = longitude;
	}
	
	public int getNbMarquage() {
		return nbMarquage;
	}
	
	public void setNbMarquage(int nbMarquage) {
		this.nbMarquage = nbMarquage;
	}
	
	public String getChemin() {
		return chemin;
	}
	
	public void setChemin(String chemin) {
		this.chemin = chemin;
	}
	
	public float getFiabilite() {
		return fiabilite;
	}
	
	public void setFiabilite(float fiabilite) {
		this.fiabilite = fiabilite;
	}
	
	public int getDirection() {
		return direction;
	}
	
	public void setDirection(int direction) {
		this.direction = direction;
	}
	
	public long getIdType() {
		return idType;
	}
	
	public void setIdType(long idType) {
		this.idType = idType;
	}
	
	public int getDistanceUtilisateur() {
		return distanceUtilisateur;
	}
	
	public void setDistanceUtilisateur(int distanceUtilisateur) {
		this.distanceUtilisateur = distanceUtilisateur;
	}
	
}
